home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / hostbyaddr / hostbyaddr.c next >
C/C++ Source or Header  |  1995-05-03  |  717b  |  40 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <netdb.h>
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7.  
  8. char    *progname;
  9.  
  10. main(argc, argv)
  11.     int        argc;
  12.     char        *argv[];
  13. {
  14.     struct hostent    *hp;
  15.     ulong        ipaddr;
  16.  
  17.     progname = strrchr(argv[0], '/');
  18.     if (progname == NULL)
  19.         progname = argv[0];
  20.     else
  21.         progname++;
  22.  
  23.     argc--, argv++;
  24.  
  25.     if (argc == 0 || argv[0][0] == '-') {
  26.         fprintf(stderr, "usage: %s hexInetAddr ...\n", progname);
  27.         exit(1);
  28.     }
  29.     for ( ; argc; argc--, argv++) {
  30.         ipaddr = (ulong)strtol(argv[0], (char **)0, 16);
  31.         hp = gethostbyaddr(&ipaddr, sizeof(ipaddr), AF_INET);
  32.  
  33.         printf("0x%x => %s: %s\n",
  34.             ipaddr,
  35.             inet_ntoa(ipaddr),
  36.             hp == NULL ? "Unknown host" : hp->h_name
  37.         );
  38.     }
  39. }
  40.